Skip to main content

Specification changes 1.2 -> 3.0.0-alpha2

Input

  • Old spec: tps-device-api-v1.2.yaml
  • New spec: v3.0/tps-device-api.yaml
  • Generated: 2026-05-25 13:38:47 UTC

Overview changes

  • info.title: Device API for Contactless Readers (v1.2) -> TPS Device API (v3.0.0-alpha2)
  • info.version: 1.2 -> 3.0.0-alpha2

Operation changes

Added

  • GET /device/{terminalTypeName}/{terminalSn}/inspectToken

Changed

  • GET /device-api/v1/devices/{terminalTypeName}/{terminalSn} -> GET /device/{terminalTypeName}/{terminalSn}
  • GET /device-api/v1/update/type/{terminalTypeName}/{terminalSn} -> GET /device/{terminalTypeName}/{terminalSn}/update
  • POST /device-api/v1/register -> PUT /device/{terminalTypeName}/{terminalSn}
  • POST /device-api/v1/transaction -> POST /device/{terminalTypeName}/{terminalSn}/transaction

Parameter changes

  • Added parameter in POST /device-api/v1/register -> PUT /device/{terminalTypeName}/{terminalSn}: path terminalSn (required: yes, type: string)
  • Added parameter in POST /device-api/v1/register -> PUT /device/{terminalTypeName}/{terminalSn}: path terminalTypeName (required: yes, type: string)
  • Added parameter in POST /device-api/v1/transaction -> POST /device/{terminalTypeName}/{terminalSn}/transaction: path terminalSn (required: yes, type: string)
  • Added parameter in POST /device-api/v1/transaction -> POST /device/{terminalTypeName}/{terminalSn}/transaction: path terminalTypeName (required: yes, type: string)

Operation body changes

  • None

Operation component usage changes

GET /device-api/v1/devices/{terminalTypeName}/{terminalSn} -> GET /device/{terminalTypeName}/{terminalSn}

  • Parameter path:terminalSn now uses component TerminalSn
  • Parameter path:terminalTypeName now uses component TerminalTypeName
  • Response 200 component changed: RegisterTerminalResponseContent -> RegisterTerminalResponse

GET /device-api/v1/update/type/{terminalTypeName}/{terminalSn} -> GET /device/{terminalTypeName}/{terminalSn}/update

  • Parameter path:terminalSn now uses component TerminalSn
  • Parameter path:terminalTypeName now uses component TerminalTypeName
  • Response 200 component changed: UpdateResponseContent -> UpdateResponse

POST /device-api/v1/register -> PUT /device/{terminalTypeName}/{terminalSn}

  • Parameter path:terminalSn now uses component TerminalSn
  • Parameter path:terminalTypeName now uses component TerminalTypeName
  • Request body component changed: RegisterTerminalRequestContent -> RegisterTerminalRequest
  • Response 200 component changed: RegisterTerminalResponseContent -> RegisterTerminalResponse

POST /device-api/v1/transaction -> POST /device/{terminalTypeName}/{terminalSn}/transaction

  • Parameter path:terminalSn now uses component TerminalSn
  • Parameter path:terminalTypeName now uses component TerminalTypeName
  • Request body component changed: TransactionEventRequestContent -> CreateTransactionRequest
  • Response 200 component changed: TransactionEventResponseContent -> GetTransactionResponse

Component changes

  • Added component: parameters.TerminalSn (in: path; required: yes; type: string)
  • Added component: parameters.TerminalTypeName (in: path; required: yes; type: string)
  • Added component: parameters.icc_public (in: query; required: no; type: string)
  • Added component: parameters.pan_expiry_date (in: query; required: no; type: string)
  • Added component: parameters.pan_first6 (in: query; required: no; type: string)
  • Added component: parameters.pan_last4 (in: query; required: no; type: string)
  • Added component: parameters.pan_sequence_number (in: query; required: no; type: string)
  • Added component: parameters.par (in: query; required: no; type: string)
  • Added component: parameters.transit_psp_token1 (in: query; required: no; type: string)
  • Added component: requestBodies.CreateTransactionRequest
    • Fields
      • cardData (type object; required yes; content component CardData)
      • deviceData (type object; required no; content component DeviceData)
      • metaData (type object; required no; content component MetaData)
      • productData (type array; required no; items component ProductData)
      • transactionData (type object; required yes; content component TransactionData)
      • tripData (type object; required no; content component TripData)
  • Added component: requestBodies.RegisterTerminalRequest
    • Fields
      • applicationVersion (component requestBodies.RegisterTerminalRequest; type string; required yes)
      • keyEncryptionCertificateChain (component requestBodies.RegisterTerminalRequest; type array; required no)
      • keyEncryptionCertificateRequest (component requestBodies.RegisterTerminalRequest; type string; required no)
      • requestUuid (component requestBodies.RegisterTerminalRequest; type string; required yes)
      • timestamp (component requestBodies.RegisterTerminalRequest; type string; required yes; format date-time)
  • Removed component: requestBodies.RegisterTerminalRequestBody
  • Removed component: requestBodies.SendTransactionsRequestBody
  • Added component: responses.CreateTransactionResponse
    • Fields
      • cardData (type object; required yes; content component CardData)
      • deviceData (type object; required yes; content component DeviceData)
      • productData (type array; required no; items component ProductData)
      • transactionData (type object; required yes; content component TransactionData)
      • transactionResultData (type object; required no; content component TransactionResultData)
      • tripData (type object; required no; content component TripData)
  • Added component: responses.InspectTokenResponse
    • Fields
      • Token (component responses.InspectTokenResponse; type array; required no)
  • Removed component: responses.SendTransactionsResponse
  • Changed component: responses.AuthenticationErrorResponse
    • Added fields
      • systemCode (component responses.AuthenticationErrorResponse; type integer; required no; format int32)
      • systemCodeDescription (component responses.AuthenticationErrorResponse; type string; required no)
  • Changed component: responses.ErrorResponse
    • Notes
      • Structural content changed (component responses.ErrorResponse)
  • Changed component: responses.GetRegistrationResponse
    • Added fields
      • deviceId (component responses.GetRegistrationResponse; type string; required no)
      • deviceKeys (component responses.GetRegistrationResponse; type array; required no)
      • merchantId (component responses.GetRegistrationResponse; type string; required no)
  • Changed component: responses.RegisterTerminalResponse
    • Added fields
      • deviceId (component responses.RegisterTerminalResponse; type string; required no)
      • deviceKeys (component responses.RegisterTerminalResponse; type array; required no)
      • merchantId (component responses.RegisterTerminalResponse; type string; required no)
  • Changed component: responses.UpdateConfigurationResponse
    • Changed fields
      • records: (type array; required yes) -> (type array; required yes) (component responses.UpdateConfigurationResponse)